home *** CD-ROM | disk | FTP | other *** search
- .geometry "version 0.1";
- //involG.T, 7.12.91, R. De Vogelaere, started Dec. 6, 1991
- .text("from Euclidean to Involutive Geometry");
- .text("the triangle {A0,A1,A2}, barycenter M and orthocenter M~", .L0);
- .text("medians and complementary triangle", .yellow, .L1);
- .text("altitudes, orthic triangle, orthic line", .cyan, .L2);
- .text("line of Euler", .blue, .L2);
- .text("circle of Brianchon-Poncelet", .yellow, .L3);
- .text("mediatrices, circumcenter", .magenta, .L4);
- .text("(orthic triangle), tangential triangle", .L5);
- .text("circumcircle", .green, .L5);
- .text("posit. of baryc.(1) and orthoc.(2) for a Minkowskian geometry", .red, .L14);
- .text("posit. of barycenter and orthocenter for the geom. of Euclid", .blue, .L15);
- v1 = .free(-0.371968, 0.549865, .L0, .L1, .L2, .L3, .L4, .L5, "A0");
- v2 = .free(-0.469003, -0.0889488, .L0, .L1, .L2, .L3, .L4, .L5, "A1");
- v3 = .free(0.603774, -0.0808625, .L0, .L1, .L2, .L3, .L4, .L5, "A2");
- v4 = .free(-0.0727763, 0.113208, .cyan, .L0, .L1, .L2, .L3, .L4, .L5, "M");
- v5 = .free(-0.369272, 0.0700809, .L0, .L1, .L2, .L3, .L4, .L5, "M~");
- // if last coordinates are large, e.g. 20., 25., then example of Gallilean geom.
- // for the general case M~ is on the ideal line
- l3 = .l.vv(v2, v3, .L0, .L1, .L2, .L3, .L4, .L5, .longline);
- l4 = .l.vv(v3, v1, .L0, .L1, .L2, .L3, .L4, .L5, .longline);
- l5 = .l.vv(v1, v2, .L0, .L1, .L2, .L3, .L4, .L5, .longline);
- l6 = .l.vv(v1, v4, .yellow, .L1, .longline);
- l7 = .l.vv(v2, v4, .yellow, .L1, .longline);
- l8 = .l.vv(v3, v4, .yellow, .L1, .longline);
- l9 = .l.vv(v1, v5, .cyan, .L2, .L4, .longline);
- l10 = .l.vv(v2, v5, .cyan, .L2, .L4, .L5, .longline);
- l11 = .l.vv(v3, v5, .cyan, .L2, .L4, .L5, .longline);
- v6 = .v.ll(l6, l3, .L1, .L3, .L4, .plus);
- v7 = .v.ll(l3, l9, .L2, .L3, .plus);
- v8 = .v.ll(l7, l4, .L1, .L3, .L4, .plus);
- v9 = .v.ll(l4, l10, .L2, .L3, .plus);
- v10 = .v.ll(l5, l8, .L1, .L3, .L4, .plus);
- v11 = .v.ll(l11, l5, .L2, .L3, .plus);
- conic1 = .conic.vvvvv(v6, v7, v8, v9, v10, .yellow, .L3);
- l1 = .l.vlperp(v2, l4, .invisible, .L15, .longline);
- l12 = .l.vlperp(v3, l5, .invisible, .L15, .longline);
- v12 = .v.vvmid(v3, v1, .invisible, .L15, .plus);
- v13 = .v.vvmid(v1, v2, .invisible, .L15, .plus);
- l13 = .l.vv(v2, v12, .invisible, .L15, .longline);
- l14 = .l.vv(v3, v13, .invisible, .L15, .longline);
- v14 = .v.ll(l1, l12, .blue, .L0, .L15, .plus);
- v15 = .v.ll(l14, l13, .blue, .L0, .L15, .plus);
- l15 = .l.vv(v8, v10, .yellow, .L1);
- l17 = .l.vv(v10, v6, .yellow, .L1);
- l18 = .l.vv(v6, v8, .yellow, .L1);
- v16 = .v.ll(l3, l15, .yellow, .L1, .plus);
- v17 = .v.ll(l15, l3, .yellow, .L1, .plus);
- v18 = .v.ll(l18, l5, .yellow, .L1, .plus);
- v19 = .v.ll(l17, l4, .yellow, .L1, .plus);
- l19 = .l.vv(v16, v18, .red, .L1, .L2, .L3, .L4, .L5, .longline);
- v20 = .v.ll(l9, l19, .yellow, .L4, .plus);
- v21 = .v.ll(l19, l10, .yellow, .L4, .plus);
- v23 = .v.ll(l11, l19, .yellow, .L4, .plus);
- l20 = .l.vv(v6, v20, .magenta, .L4, .longline);
- l21 = .l.vv(v8, v21, .magenta, .L4, .longline);
- l22 = .l.vv(v10, v23, .magenta, .L4, .longline);
- v24 = .v.ll(l22, l20, .magenta, .L4, "O");
- l23 = .l.vv(v1, v24, .magenta, .L5);
- l24 = .l.vv(v24, v2, .magenta, .L5);
- l25 = .l.vv(v24, v3, .magenta, .L5);
- l26 = .l.vv(v9, v11, .cyan, .L2, .L5);
- l27 = .l.vv(v11, v7, .cyan, .L2, .L5);
- l28 = .l.vv(v7, v9, .cyan, .L2, .L5);
- l29 = .l.vv(v4, v4, .cyan, .L5);
- v25 = .v.ll(l26, l19, .cyan, .L5, .plus);
- v26 = .v.ll(l19, l27, .cyan, .L5, .plus);
- v27 = .v.ll(l19, l28, .cyan, .L5, .plus);
- l30 = .l.vv(v1, v25, .magenta, .L5, .longline);
- l31 = .l.vv(v2, v26, .magenta, .L5, .longline);
- l32 = .l.vv(v3, v27, .magenta, .L5, .longline);
- l2 = .l.vv(v5, v24, .blue, .L1, .L2, .L4, .longline);
- v28 = .free(0.331536, -0.242588, .red, .L14, "1");
- v22 = .free(-0.169811, 0.0431267, .red, .L14, "2");
- v30 = .v.ll(l10, l30, .invisible, .L5, .plus);
- v31 = .v.ll(l31, l4, .invisible, .L5, .plus);
- l40 = .l.vv(v30, v31, .invisible, .L5);
- v32 = .v.ll(l40, l5, .invisible, .L5);
- l41 = .l.vv(v32, v3, .invisible, .L5);
- v43 = .v.ll(l41, l10, .magenta, .L5);
- v33 = .v.ll(l11, l30, .invisible, .L5, .plus);
- v34 = .v.ll(l32, l5, .invisible, .L5, .plus);
- l42 = .l.vv(v33, v34, .invisible, .L5);
- v35 = .v.ll(l42, l4, .invisible, .L5);
- l43 = .l.vv(v35, v2, .invisible, .L5);
- v36 = .v.ll(l43, l11, .magenta, .L5);
- conic2 = .conic.vvvvv(v1, v2, v3, v43, v36, .green, .L5);
- v29 = .v.ll(l26, l3, .cyan, .L2, .plus);
- v39 = .v.ll(l28, l5, .cyan, .L2, .plus);
- l16 = .l.vv(v29, v39, .cyan, .L2, .longline);
- v40 = .v.ll(l27, l4, .cyan, .L2, .plus);
-